<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>InfCommunicationHostedGroup</title>
<meta name="generator" content="DocBook XSL Stylesheets V1.76.0">
<link rel="home" href="index.html" title="libinfinity-0.4 Reference Manual">
<link rel="up" href="ch06.html" title="Network abstraction">
<link rel="prev" href="InfCommunicationGroup.html" title="InfCommunicationGroup">
<link rel="next" href="InfCommunicationJoinedGroup.html" title="InfCommunicationJoinedGroup">
<meta name="generator" content="GTK-Doc V1.15 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
<tr valign="middle">
<td><a accesskey="p" href="InfCommunicationGroup.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
<td><a accesskey="u" href="ch06.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
<th width="100%" align="center">libinfinity-0.4 Reference Manual</th>
<td><a accesskey="n" href="InfCommunicationJoinedGroup.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
</tr>
<tr><td colspan="5" class="shortcuts">
<a href="#InfCommunicationHostedGroup.synopsis" class="shortcut">Top</a>
                   | 
                  <a href="#InfCommunicationHostedGroup.description" class="shortcut">Description</a>
                   | 
                  <a href="#InfCommunicationHostedGroup.object-hierarchy" class="shortcut">Object Hierarchy</a>
</td></tr>
</table>
<div class="refentry" title="InfCommunicationHostedGroup">
<a name="InfCommunicationHostedGroup"></a><div class="titlepage"></div>
<div class="refnamediv"><table width="100%"><tr>
<td valign="top">
<h2><span class="refentrytitle"><a name="InfCommunicationHostedGroup.top_of_page"></a>InfCommunicationHostedGroup</span></h2>
<p>InfCommunicationHostedGroup — Communication group opened by the local host</p>
</td>
<td valign="top" align="right"></td>
</tr></table></div>
<div class="refsect1" title="Stability Level">
<a name="InfCommunicationHostedGroup.stability-level"></a><h2>Stability Level</h2>
Unstable, unless otherwise indicated
</div>
<div class="refsynopsisdiv" title="Synopsis">
<a name="InfCommunicationHostedGroup.synopsis"></a><h2>Synopsis</h2>
<pre class="synopsis">
#include &lt;libinfinity/communication/inf-communication-hosted-group.h&gt;

                    <a class="link" href="InfCommunicationHostedGroup.html#InfCommunicationHostedGroup-struct" title="InfCommunicationHostedGroup">InfCommunicationHostedGroup</a>;
struct              <a class="link" href="InfCommunicationHostedGroup.html#InfCommunicationHostedGroupClass" title="struct InfCommunicationHostedGroupClass">InfCommunicationHostedGroupClass</a>;
<span class="returnvalue">void</span>                <a class="link" href="InfCommunicationHostedGroup.html#inf-communication-hosted-group-add-method" title="inf_communication_hosted_group_add_method ()">inf_communication_hosted_group_add_method</a>
                                                        (<em class="parameter"><code><a class="link" href="InfCommunicationHostedGroup.html" title="InfCommunicationHostedGroup"><span class="type">InfCommunicationHostedGroup</span></a> *group</code></em>,
                                                         <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *method</code></em>);
<span class="returnvalue">void</span>                <a class="link" href="InfCommunicationHostedGroup.html#inf-communication-hosted-group-add-member" title="inf_communication_hosted_group_add_member ()">inf_communication_hosted_group_add_member</a>
                                                        (<em class="parameter"><code><a class="link" href="InfCommunicationHostedGroup.html" title="InfCommunicationHostedGroup"><span class="type">InfCommunicationHostedGroup</span></a> *group</code></em>,
                                                         <em class="parameter"><code><a class="link" href="InfXmlConnection.html" title="InfXmlConnection"><span class="type">InfXmlConnection</span></a> *connection</code></em>);
<span class="returnvalue">void</span>                <a class="link" href="InfCommunicationHostedGroup.html#inf-communication-hosted-group-remove-member" title="inf_communication_hosted_group_remove_member ()">inf_communication_hosted_group_remove_member</a>
                                                        (<em class="parameter"><code><a class="link" href="InfCommunicationHostedGroup.html" title="InfCommunicationHostedGroup"><span class="type">InfCommunicationHostedGroup</span></a> *grp</code></em>,
                                                         <em class="parameter"><code><a class="link" href="InfXmlConnection.html" title="InfXmlConnection"><span class="type">InfXmlConnection</span></a> *connection</code></em>);
</pre>
</div>
<div class="refsect1" title="Object Hierarchy">
<a name="InfCommunicationHostedGroup.object-hierarchy"></a><h2>Object Hierarchy</h2>
<pre class="synopsis">
  <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject">GObject</a>
   +----<a class="link" href="InfCommunicationGroup.html" title="InfCommunicationGroup">InfCommunicationGroup</a>
         +----InfCommunicationHostedGroup
</pre>
</div>
<div class="refsect1" title="Description">
<a name="InfCommunicationHostedGroup.description"></a><h2>Description</h2>
<p>
<a class="link" href="InfCommunicationHostedGroup.html" title="InfCommunicationHostedGroup"><span class="type">InfCommunicationHostedGroup</span></a> is a <a class="link" href="InfCommunicationHostedGroup.html" title="InfCommunicationHostedGroup"><span class="type">InfCommunicationHostedGroup</span></a> opened on
the local host. It allows adding other hosts to the group via
<a class="link" href="InfCommunicationHostedGroup.html#inf-communication-hosted-group-add-member" title="inf_communication_hosted_group_add_member ()"><code class="function">inf_communication_hosted_group_add_member()</code></a>, and to remove hosts via
<a class="link" href="InfCommunicationHostedGroup.html#inf-communication-hosted-group-remove-member" title="inf_communication_hosted_group_remove_member ()"><code class="function">inf_communication_hosted_group_remove_member()</code></a>.
</p>
</div>
<div class="refsect1" title="Details">
<a name="InfCommunicationHostedGroup.details"></a><h2>Details</h2>
<div class="refsect2" title="InfCommunicationHostedGroup">
<a name="InfCommunicationHostedGroup-struct"></a><h3>InfCommunicationHostedGroup</h3>
<pre class="programlisting">typedef struct _InfCommunicationHostedGroup InfCommunicationHostedGroup;</pre>
<p>
<a class="link" href="InfCommunicationHostedGroup.html" title="InfCommunicationHostedGroup"><span class="type">InfCommunicationHostedGroup</span></a> is an opaque data type. You should only
access it via the public API functions.
</p>
</div>
<hr>
<div class="refsect2" title="struct InfCommunicationHostedGroupClass">
<a name="InfCommunicationHostedGroupClass"></a><h3>struct InfCommunicationHostedGroupClass</h3>
<pre class="programlisting">struct InfCommunicationHostedGroupClass {
};
</pre>
<p>
This structure does not contain any public fields.
</p>
</div>
<hr>
<div class="refsect2" title="inf_communication_hosted_group_add_method ()">
<a name="inf-communication-hosted-group-add-method"></a><h3>inf_communication_hosted_group_add_method ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                inf_communication_hosted_group_add_method
                                                        (<em class="parameter"><code><a class="link" href="InfCommunicationHostedGroup.html" title="InfCommunicationHostedGroup"><span class="type">InfCommunicationHostedGroup</span></a> *group</code></em>,
                                                         <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *method</code></em>);</pre>
<p>
Adds a method to the hosted group. When a connection from a given network
is added to the group the first time, a <a class="link" href="InfCommunicationMethod.html" title="InfCommunicationMethod"><span class="type">InfCommunicationMethod</span></a> is
instantiated to handle messaging for the group within this network.
The first method added will be tried first. If the communication manager
does support it (meaning <a class="link" href="InfCommunicationManager.html#inf-communication-manager-get-factory-for" title="inf_communication_manager_get_factory_for ()"><code class="function">inf_communication_manager_get_factory_for()</code></a> for
the connection's network and the chosen method returns non-<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>), then it
will be used, otherwise the next method will be tried, etc. If no method
is supported, or no methods are added to the group, then the "central"
method will be used as a fallback.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>group</code></em> :</span></p></td>
<td>A <a class="link" href="InfCommunicationHostedGroup.html" title="InfCommunicationHostedGroup"><span class="type">InfCommunicationHostedGroup</span></a>.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>method</code></em> :</span></p></td>
<td>The method name to add.
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" title="inf_communication_hosted_group_add_member ()">
<a name="inf-communication-hosted-group-add-member"></a><h3>inf_communication_hosted_group_add_member ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                inf_communication_hosted_group_add_member
                                                        (<em class="parameter"><code><a class="link" href="InfCommunicationHostedGroup.html" title="InfCommunicationHostedGroup"><span class="type">InfCommunicationHostedGroup</span></a> *group</code></em>,
                                                         <em class="parameter"><code><a class="link" href="InfXmlConnection.html" title="InfXmlConnection"><span class="type">InfXmlConnection</span></a> *connection</code></em>);</pre>
<p>
Adds <em class="parameter"><code>connection</code></em> as a member to <em class="parameter"><code>group</code></em>. On the remote site, a
<a class="link" href="InfCommunicationJoinedGroup.html" title="InfCommunicationJoinedGroup"><span class="type">InfCommunicationJoinedGroup</span></a> with the same name and method used for
<em class="parameter"><code>connection</code></em> (see <a class="link" href="InfCommunicationGroup.html#inf-communication-group-get-method-for-connection" title="inf_communication_group_get_method_for_connection ()"><code class="function">inf_communication_group_get_method_for_connection()</code></a>)
needs to be created for successful communication.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>group</code></em> :</span></p></td>
<td>A <a class="link" href="InfCommunicationGroup.html" title="InfCommunicationGroup"><span class="type">InfCommunicationGroup</span></a>.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>connection</code></em> :</span></p></td>
<td>A <a class="link" href="InfXmlConnection.html" title="InfXmlConnection"><span class="type">InfXmlConnection</span></a> to add to group.
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" title="inf_communication_hosted_group_remove_member ()">
<a name="inf-communication-hosted-group-remove-member"></a><h3>inf_communication_hosted_group_remove_member ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                inf_communication_hosted_group_remove_member
                                                        (<em class="parameter"><code><a class="link" href="InfCommunicationHostedGroup.html" title="InfCommunicationHostedGroup"><span class="type">InfCommunicationHostedGroup</span></a> *grp</code></em>,
                                                         <em class="parameter"><code><a class="link" href="InfXmlConnection.html" title="InfXmlConnection"><span class="type">InfXmlConnection</span></a> *connection</code></em>);</pre>
<p>
Removes <em class="parameter"><code>connection</code></em>'s membership from <em class="parameter"><code>group</code></em>. On the remote site, the
corresponding <a class="link" href="InfCommunicationJoinedGroup.html" title="InfCommunicationJoinedGroup"><span class="type">InfCommunicationJoinedGroup</span></a> needs to be freed.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>grp</code></em> :</span></p></td>
<td>A <a class="link" href="InfCommunicationGroup.html" title="InfCommunicationGroup"><span class="type">InfCommunicationGroup</span></a>.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>connection</code></em> :</span></p></td>
<td>The <em class="parameter"><code>InfXmlConnection</code></em> to remove from the group.
</td>
</tr>
</tbody>
</table></div>
</div>
</div>
<div class="refsect1" title="See Also">
<a name="InfCommunicationHostedGroup.see-also"></a><h2>See Also</h2>
<a class="link" href="InfCommunicationGroup.html" title="InfCommunicationGroup"><span class="type">InfCommunicationGroup</span></a>, <a class="link" href="InfCommunicationManager.html" title="InfCommunicationManager"><span class="type">InfCommunicationManager</span></a>
</div>
</div>
<div class="footer">
<hr>
          Generated by GTK-Doc V1.15</div>
</body>
</html>